home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr29 / dfb16b.zip / READ.ME < prev    next >
Text File  |  1994-12-07  |  12KB  |  266 lines

  1.  
  2.                    DDDDDD    FFFFFFF  BBBBB
  3.                    DDDDDDD   FFFFFFF  BBBBBBB
  4.                    DD   DD   FF       BB   BB
  5.                    DD   DD   FFFFF    BBBBB
  6.                    DD   DD   FFFFF    BB   BB
  7.                    DDDDDDD   FF       BBBBBBB
  8.                    DDDDDD    FF       BBBBB
  9.  
  10.            Data Flow Benchmark V 1.6
  11.  
  12.                      (c) 1994 by D.Engert
  13.  
  14.  
  15. 1. Legal stuff
  16.  
  17. There is no warranty. Use this software on your own risk. Due to the
  18. complexity and variety of today's hardware and software which may be
  19. used to run this program, I am not responsible for any damage or loss of
  20. data caused by use of this software. It was tested very well and is
  21. expected to work correctly, but nobody can actually guarantee this for
  22. any circumstances. And because this software is free, you get what you
  23. pay for ...
  24.  
  25. This program can be used freely for private or educational purposes. If
  26. you want to use it for commercial purposes or find any bugs or have
  27. suggestions about further enhancement, please contact the author.
  28.  
  29. Author:  Detlef D. Engert
  30.          Gruentenweg 14
  31.          D-90471 Nuernberg
  32.          Germany
  33.  
  34. Fax:     +49-911-861319
  35. Mailer:  +49-911-861319  UTC 18:00 - 23:00
  36. EMail:   2:2490/1145.9@fidonet
  37.      2:2490/2576@fidonet
  38.      engert@ibm.net
  39.  
  40. 2. Purpose and intent of this program
  41.  
  42. Todays hardware gets more and more powerful but more complicated too. Modern
  43. motherboards using up to date chip sets may turn out to be very difficult to
  44. configure. And to make things worse, there are different manufacturers of CPU
  45. chips besides Intel now with new features and options. The memory subsystems
  46. implemented on these motherboards are even harder to configure, taking into
  47. consideration different cache strategies, RAM speeds and access modes.
  48.  
  49. Beyond the core of any computer system lay the peripherals (video, magnetic
  50. storage..) connected by a variety of bus implementations like ISA, EISA, VLB or
  51. PCI. Chip sets used on these peripherals are often of even higher complexity
  52. than the computer core.
  53.  
  54. Even skilled users are often overwhelmed by the sheer complexity and variety
  55. of options offered. Nobody will them the real power available to them by a
  56. given computer system using a particular configuration set. How should a user
  57. optimize his or her computer or how should a buyer choose between similar
  58. looking components based on hard facts ? May be this program will help you !
  59.  
  60.  
  61. 3. What will this program offer ?
  62.  
  63. Let's have a look on the output (framed) of the current version run on my own
  64. machine.
  65.  
  66. Machine configuration:
  67.  
  68.   GigaByte Motherboard,
  69.   Intel 486DX-50 CPU,
  70.   SiS 411 EISA/VLB chip set,
  71.   EISA/VLB bus system running at 50MHz,
  72.   256 KByte of 12ns cache RAM, 2 Banks a 16 MByte of 70ns DRAM,
  73.   Diamond Viper Pro Video P9100 video board, 4 MByte VRAM
  74.  
  75. All configuration settings are optimized for maximum throughput. That gives
  76. the following results:
  77.  
  78. +-----------------------------------------------------------------------------+
  79. |       Data flow benchmark v1.6                          |
  80. |                                          |
  81. | copyright (c) 1994 D.Engert; partially based on a DOS implementation by     |
  82. | A.Stiller, c't                                                              |
  83. |                                          |
  84. | Processor         : Intel/AMD 486DX                          |
  85. | Clock          : 50.0 MHz                           |
  86. | Coprocessor         : present                              |
  87. | Internal bus width : 32 bit between processor and primary cache          |
  88. | External bus width : 32 bit between primary and secondary cache          |
  89. | DRAM page size     : 16 KByte, interleaved                      |
  90. | MMU cache         : 32 entries 4-way set associative, 4KByte per entry     |
  91. | Primary cache      : 8 KByte 4-way set associative                  |
  92. | Secondary cache    : 256 KByte direct mapped                      |
  93. | Cache line size    : 16 Bytes                           |
  94. | Cache strategy     : write through                          |
  95. +-----------------------------------------------------------------------------+
  96.  
  97. These figures are quite selfexplanatory. Type and speed of the CPU are detected,
  98. the width of the data paths between CPU core and primary cache - typically
  99. located on the same chip as the CPU core - and between the core or primary
  100. cache and the secondary cache (if present) or main memory.
  101. The program next tries to determine the effective page size, if page mode is
  102. implemented by the chip set. The following 3 lines show information about the
  103. address translation lookaside buffer (MMU cache), the primary and secondary
  104. cache. Size and associativity are checked, the length of a cache line is
  105. determined and the strategy used by the cache subsystem (write-through or write-
  106. back) is sensed.
  107.  
  108. +-----------------------------------------------------------------------------+
  109. |      Data flow and bus performance memory                      |
  110. |                                          |
  111. | --  memory -> CPU  ---------                              |
  112. | Maximum 4K FETCH (Hits)     :   19.5µs (   973c) => 200.7MB/s (0.25c/Byte)  |
  113. |      4K FETCH (Miss+Hit) :   29.2µs (  1461c) => 133.6MB/s (0.37c/Byte)  |
  114. | Minimum 4K FETCH (Misses)   :   59.7µs (  2985c) =>  65.4MB/s (0.76c/Byte)  |
  115. | Maximum 4K LODSD (hits)     :   83.2µs (  4160c) =>  49.3MB/s (1.02c/Byte)  |
  116. |      4K LODSD (miss+hit) :   97.6µs (  4882c) =>  42.0MB/s (1.19c/Byte)  |
  117. | Minimum 4K LODSD (misses)   :  134.5µs (  6730c) =>  30.4MB/s (1.64c/Byte)  |
  118. | --  CPU -> memory  ---------                              |
  119. | Maximum 4K STOSD (hits)     :   82.1µs (  4106c) =>  49.9MB/s (1.00c/Byte)  |
  120. | Minimum 4K STOSD (misses)   :   82.1µs (  4108c) =>  49.9MB/s (1.00c/Byte)  |
  121. | --  memory -> memory    ------                              |
  122. | Maximum 4K MOVSD (hits)     :   65.5µs (  3275c) =>  62.6MB/s (0.80c/Byte)  |
  123. |      4K MOVSD (miss+hit) :  129.9µs (  6498c) =>  31.5MB/s (1.59c/Byte)  |
  124. |      4K MOVSD (clean)    :  202.7µs ( 10142c) =>  20.2MB/s (2.48c/Byte)  |
  125. |      4K MOVSD (dirty)    :  141.3µs (  7071c) =>  29.0MB/s (1.73c/Byte)  |
  126. | Minimum 4K MOVSD (misses)   :  203.2µs ( 10166c) =>  20.2MB/s (2.48c/Byte)  |
  127. +-----------------------------------------------------------------------------+
  128.  
  129. These are the performance figures of the CPU <--> memory data path.
  130.  
  131. There are four disciplines:
  132.  - opcode fetch
  133.  - data load
  134.  - data store
  135.  - data move.
  136.  
  137. Depending on the discipline several scenarios are tested (denoted in paren-
  138. theses):
  139.  - hits in all memory caches (hits)
  140.  - hit in secondary cache, but not in primary (miss+hit)
  141.  - hit with replace in clean secondary cache, no write back necessary (clean)
  142.  - hit with replace in dirty secondary cache, write back carried out (dirty)
  143.  - misses in all caches (misses)
  144.  
  145. The first (hits) should give maximum performance down to the last (misses) with
  146. minimum speed.
  147.  
  148. The test transfer size depends on the cache and page sizes. In the case above
  149. it is 4KByte.
  150.  
  151. There are four result columns:
  152.  - absolute time needed for one test of the mentioned size
  153.  - the same in clock cycles
  154.  - the resulting transfer speed in MBytes per second
  155.  - the cost of the operation in cycles per Byte
  156.  
  157. +-----------------------------------------------------------------------------+
  158. | VIO info    : XGA, 0 KByte video memory                                     |
  159. | Device info : manufacturer Weitek, chip set W5186, 1 MByte video memory     |
  160. | Screen      : 1280x1024x256                                                 |
  161. | Aperture    : 4 MByte @ 0xC0800000                          |
  162. | Bus width   : 32 bit between CPU and video memory                           |
  163. +-----------------------------------------------------------------------------+
  164.  
  165. The information about the video system is queried from different parts of OS/2,
  166. so there may be different figures for the same item. That depends more or less
  167. on how careful the developer of the video drivers did the job...
  168.  
  169. +-----------------------------------------------------------------------------+
  170. |      Data flow and bus performance video                      |
  171. |                                          |
  172. | --  Video -> CPU  ----------                              |
  173. | Maximum 4K LODSD (Hits)     :  390.5µs ( 19536c) =>  10.5MB/s (4.77c/Byte)  |
  174. | Minimum 4K LODSD (Misses)   :  390.4µs ( 19528c) =>  10.5MB/s (4.77c/Byte)  |
  175. | --  CPU -> Video  ----------                              |
  176. |      4K STOSD          :   82.3µs (  4116c) =>  49.8MB/s (1.00c/Byte)  |
  177. | --  Memory -> Video  -------                              |
  178. | Maximum 4K MOVSD (Hits)     :   86.0µs (  4301c) =>  47.6MB/s (1.05c/Byte)  |
  179. |      4K MOVSD (Miss+Hit) :  133.4µs (  6674c) =>  30.7MB/s (1.63c/Byte)  |
  180. |      4K MOVSD (Clean)    :  536.0µs ( 26812c) =>    7.6MB/s (6.55c/Byte)  |
  181. | Minimum 4K MOVSD (Misses)   :  539.5µs ( 26986c) =>    7.6MB/s (6.59c/Byte)  |
  182. | --  Video -> Memory  -------                              |
  183. | Maximum 4K MOVSD (Hits)     :  536.0µs ( 26812c) =>    7.6MB/s (6.55c/Byte)  |
  184. | Minimum 4K MOVSD (Misses)   :  539.5µs ( 26986c) =>    7.6MB/s (6.59c/Byte)  |
  185. | --  Video -> Video  --------                              |
  186. | Maximum 4K MOVSD (Hits)     :  562.1µs ( 28118c) =>    7.3MB/s (6.86c/Byte)  |
  187. | Minimum 4K MOVSD (Misses)   :  678.6µs ( 33946c) =>    6.0MB/s (8.29c/Byte)  |
  188. +-----------------------------------------------------------------------------+
  189.  
  190. This is the same as above, obviously the discipline opcode fetch is left out,
  191. but there are more transfer data paths.
  192.  
  193. The figures for data store and move from primary cache into video memory are
  194. more or less senseless on local bus systems and coprocessed video cards, but
  195. give at least an idea how careful these buses are implemented.
  196.  
  197. I didn't comment the actual figures, because each - and most probably your -
  198. system is different. Compare yourself, I only say that this system is a fast
  199. one in its category...
  200.  
  201.  
  202. 4. How do I start this program ?
  203.  
  204. That's easy: go to a command line and type
  205.  
  206. DFB [options]
  207.  
  208. The following options are currently implemented:
  209.  
  210.   /NOV[ideo] : suppress video testing
  211.   /CC:number : set country code to number, default is from CONFIG.SYS
  212.           49 : Germany       (deutsch)
  213.         else : international (english)
  214.   /MORE      : stops output after each section to ease reading
  215.   /DMP         : dump test values to stderr
  216.                may be redirected to file via 'DFB /DMP [...] 2>filename'
  217.  
  218. Options are not case sensitive !
  219.  
  220. The commands 'help DFB0000' or 'DFB /?' will give you the same information about
  221. the usage of the latest version of DFB.
  222.  
  223. If you start DFB in a full screen session, video testing will be left out,
  224. since there is no video aperture available. Better use a windowed OS/2 box.
  225.  
  226. To access memory and video for testing, the device driver SSMDD.SYS must be
  227. loaded. It is part of MMPM/2 and included in the distribution of DFB also. Be
  228. sure, the statement
  229.  
  230. DEVICE=[path]\SSMDD.SYS
  231.  
  232. is in your config.sys file. DFB will tell you if it is not. In this case, only
  233. a small part of the DFB functionality is available (basic CPU type checking).
  234.  
  235. If you create a minimum boot disk with floppy support only, there is enough
  236. room left to put SSMDD.SYS and DFB.EXE onto it too. So you may enter your
  237. favourite computer shop and check out the different machines offered by a mere
  238. boot from this floppy disk.
  239.  
  240.  
  241. 5. Is there danger to use this program ?
  242.  
  243. Yes, there is !
  244.  
  245. First, I am human so I am error prone :-)
  246.  
  247. Second, DFB goes to the bones of your computer. Therefore I don't guarantee that
  248. it will interact with any running program or any active device in a totally
  249. harmless manner. If you plan to start DFB, I recommend to stop any other running
  250. user process and wait until all sensitive devices are idle. That is not a must
  251. but reduces any risks (I run DFB parallel to my communications software, active
  252. CD-ROM and active audio system).
  253.  
  254.  
  255. 6. A whish of the author
  256.  
  257. Since I have access only to Intel 486 class machines, I would appreciate if you
  258. run the tests using the dump option and drop me an email with a description
  259. of your system and the resulting dump output. If you can't reach me through
  260. Fidonet you may send your message to Compuserve 100275,3253. I am interested in
  261. any non i486 CPU.
  262. Everybody who provides me new information may consider him/herself as a
  263. registered user of a forthcoming shareware version (if there will be one...)
  264.  
  265. ---
  266.